iT邦幫忙

2024 iThome 鐵人賽

DAY 13
0

this 是什麼?

在JavaScript中,this是一個在函數執行時自動生成的特殊對象。this的值(即this的參考)是函數調用時決定的,並且取決於函數調用的方式。它通常用來引用函數的執行上下文(context)。

應用場景

  1. 全域上下文(Global Context)
console.log(this); // 在瀏覽器中,this指向window
  1. 函數上下文(Function Context)
function showThis() {
  console.log(this);
}
showThis(); // 在非嚴格模式下,this指向window對象;在嚴格模式下,this為undefined
  1. 物件方法(Object Method)
const obj = {
  name: 'John',
  showThis: function() {
    console.log(this);
  }
};
obj.showThis(); // this指向obj
  1. 建構函數(Constructor Function)
function Person(name) {
  this.name = name;
}
const person1 = new Person('Alice');
console.log(person1.name);
  1. 事件處理程序(Event Handlers)
<button id="myButton">Click me</button>
<script>
  document.getElementById('myButton').addEventListener('click', function() {
    console.log(this); // this指向被點擊的按鈕元素
  });
</script>

注意地方

箭頭函數不具有自己的this值,它會繼承自包含它的上下文。


this是JavaScript中一個強大的特性,但它的行為可能會讓人困惑。了解this的不同應用場景和注意事項能夠幫助我們避免常見的陷阱,並在使用JavaScript框架時更加得心應手。


上一篇
[Day 12] 型別比較-嚴格相等vs寬鬆相等規則
下一篇
[Day 14] 型別判斷
系列文
讀書筆記&心得-看完這本就會懂!帶你無痛提升JavaScript面試力:精選55道前端工程師的核心問題 × 求職加分模擬試題解析30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言